﻿/*--------------------------------------------------------------
 * Author : Shine K Velayudhan 
 ---------------------------------------------------------------*/
using System;

namespace IQN.Cache
{
    /// <summary>
    /// Interface for basic functionality.
    /// </summary>
    public interface ICache
    {
        void Add<T>(T t, int expirationInMinutes, string id);
        void Add<T>(T t, int expirationInMinutes);
        void Remove<T>(string id);
        void Remove<T>();
        bool TryGetItem<T>(out T t, string id);
        bool TryGetItem<T>(out T t);
        void ClearAll();
    }
}
